1. Field of the Invention
The present invention generally relates to user interfaces, and more particularly, to user interfaces which provide internationalization of applications such as Java-based application development projects.
2. Description of Background
In order to enable user interface (UI) resources to be translated into a plurality of different languages, current techniques for internationalized application development utilize processes in which the resources to be translated are separated from a source code and are translated into each language by a translator other than the programmer. The translated resources are dynamically bound according to a language environment at run time, and then displayed on a graphical user interface. These techniques are necessary and effective in development on a substantially large scale, but the degree of freedom for laying out UI controls (software components constituting a UI) is constrained due to the necessity of separating the resources to be translated. A programmer must be careful in order to ensure that a layout of UI controls is independent of the structure of each language. If the programmer considers a user's ease of understanding and formulates a layout such that a sentence in a particular language is constructed with a plurality of UI controls, then a problem may arise in that a separated resource to be translated cannot be translated into a language of a different structure or the translation result is displayed as a wrong sentence at run time. Accordingly, a need may arise to correct the design and source code at a later stage in product development.
For a single text message, an application program interface (API) exists in Java™ for converting elements embedded in a message pattern character string into one character string by formatting the elements for a single text message. API is utilized as a method for internationalization. Translators translate only this pattern string into different languages. At run time, a pattern according to an execution environment is selected and elements to be bound are delivered to API to be converted into a single character string.